package com.tbycoder.tby.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tbycoder.tby.entity.IposDiscussionPublisher;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tbycoder.tby.entity.Request.GetContentRequest;
import com.tbycoder.tby.entity.Request.PageRequest;
import com.tbycoder.tby.entity.Request.PublishRequest;
import com.tbycoder.tby.entity.Vo.GetTopicContextVo;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author tby
 * @since 2021-05-13
 */
public interface IIposDiscussionPublisherService extends IService<IposDiscussionPublisher> {

    /**
     * 发表主题和内容
     * @param publishRequest
     */
    void publish(PublishRequest publishRequest);

    /**
     * 获取所有的主题和内容
     * @return
     * @param pageRequest
     */
    Page<GetTopicContextVo> getTopic(PageRequest pageRequest);

    /**
     * 获取主题对应的内容
     * @param commonIdRequest
     * @return
     */
    GetTopicContextVo getContext(GetContentRequest commonIdRequest);

    /**
     * 回复人回复
     * @param getContentRequest
     */
    void returnContent(GetContentRequest getContentRequest);

    /**
     * 删除对应主题
     * @param getContentRequest
     */
    void deleteTopic(GetContentRequest getContentRequest);

}
